home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Definition Module: mstack
- ** Author: Tony DeRose
- ** Last Modified: 22 May 1985
- ** Purpose: matrix stack manipulation.
- */
-
- /*
- ** Matrix stacks differ from regular stacks in that a push
- ** pre- or postmultiplies the argument with the top of the
- ** stack. Premultiplication is desirable for transformation
- ** matrix stacks, and postmultiplication is useful for inverse
- ** transformation stacks.
- */
-
- #define MSTACKSIZE 64 /* Maximum stack mstack size */
-
- typedef enum {
- Premultiply, Postmultiply
- } MstackDisipline;
-
- typedef int *Mstack; /* Opaque type */
-
- extern Mstack MsCreate(); /* MsCreate(d)
- MstackDisipline d; */
- extern void MsPush(); /* MsPush(S,T)
- Mstack S;
- TransformType4D T; */
- extern void MsPop(); /* MsPop(S)
- Mstack S;*/
- extern TransformType4D MsTop(); /* MsTop(S)
- Mstack S;*/
- extern PointType4D PxTop(); /* PxTop(P,S)
- PointType4D P;
- Mstack S;*/
- /*extern Ray RayxTop();*/
- extern void MsPrint(); /* MsPrint(f,S)
- FILE *f;
- Mstack S;*/
-
-